package com.luoran.bartalks.dao;

import java.util.List;

import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.mapper.BaseMapper;

import com.luoran.bartalks.action.vo.EChartsVo;
import com.luoran.bartalks.entity.biz.BtPlanEntry;

public interface IBtEChartsVoDao extends BaseMapper<EChartsVo> {

	Integer getPlanNumber(@Param("companyId") String companyId, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

	Integer getMaterielNumber(@Param("companyId") String companyId, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

	Integer getPackingListNumber(@Param("companyId") String companyId, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

	/**
	 * 获取 ECharts pie 数据
	 * 
	 * @return List<EChartsVo>
	 */
	List<EChartsVo> getPie(@Param("dataType") String dataType, @Param("companyId") String companyId,
			@Param("startTime") String startTime, @Param("endTime") String endTime);

	
	/**
	 * 获取 ECharts scatter 分周统计数据
	 * 
	 * @return List<EChartsVo>
	 */
	 List<EChartsVo> getScatterNumber(@Param("startTime") String startTime, @Param("endTime") String endTime,
				@Param("positionId") String positionId);
	
	/**
	 * 获取 ECharts bar 分月统计数据
	 * 
	 * @return List<EChartsVo>
	 */
	List<EChartsVo> getBarNumber(@Param("startTime") String startTime, @Param("endTime") String endTime,
			@Param("planId") String planId);

	/**
	 * 获取 ECharts bar planEntrys数据
	 * 
	 * @return List<BtPlanEntry>
	 */
	List<BtPlanEntry> getPlanEntrysByBar(@Param("companyId") String companyId, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

	/**
	 * 获取 ECharts sankey planEntrys数据
	 * 
	 * @return List<BtPlanEntry>
	 */
	List<BtPlanEntry> getPlanEntrysBySankey(@Param("companyId") String companyId, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

	/**
	 * 获取 ECharts scatter数据
	 * 
	 * @return List<EChartsVo>
	 */
	List<EChartsVo> getScatter(@Param("companyId") String companyId, @Param("startTime") String startTime,
			@Param("endTime") String endTime);

}
